#pragma once
#include "Headers.h"
#include "ConsoleForm.h"

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace WeifenLuo::WinFormsUI::Docking;

namespace OgreUnified {

	public ref class ProjectSetupForm : public System::Windows::Forms::Form
	{
	public:
		ProjectSetupForm();
		static ProjectSetupForm^ mInstance;
		static property ProjectSetupForm^ Instance
		{
			ProjectSetupForm^ get();
		}

		System::Windows::Forms::DialogResult ShowDialog(bool create);

	protected:
		~ProjectSetupForm();

	private: 
		System::Windows::Forms::TabControl^ mTabControl;
		System::Windows::Forms::TabPage^	mTabPageOpen;
		System::Windows::Forms::Button^		mButtonOpen;
		System::Windows::Forms::TabPage^	mTabPageCreate;
		System::Windows::Forms::ListBox^	mListBox;
		System::Windows::Forms::Button^		mButtonOpenOther;
		System::Windows::Forms::Label^		mLabelSelectProject;
		System::Windows::Forms::Button^		mButtonBrowse;
		System::Windows::Forms::ListBox^	mListBoxPackages;
		System::Windows::Forms::TextBox^	mTextBoxLocation;
		System::Windows::Forms::Label^		mLabelPackage;
		System::Windows::Forms::Label^		mLabelProjectLocation;
		System::Windows::Forms::Button^		mButtonCreate;
		System::ComponentModel::Container^	components;

		void InitializeComponent(void);

		System::Void mButtonBrowse_Click(System::Object^  sender, System::EventArgs^  e);
		System::Void mButtonCreate_Click(System::Object^  sender, System::EventArgs^  e);
		System::Void mButtonOpenOther_Click(System::Object^  sender, System::EventArgs^  e);
		System::Void mButtonOpen_Click(System::Object^  sender, System::EventArgs^  e);

	};
}
